//该文件用于创建Vuex中最为核心的store
import { createStore } from 'vuex'
//创建并导出store
export default createStore({
    //准备state-用于存储数据
    state:{
        //求和计算结果
        sum : 0,
        org: '北极星',
        sub: 'Math',
        personList:[
            {
                id:'001',
                name:'aurora'
            }
        ]
    },
    //准备mutations-用于操作数据（state）
    mutations:{
        ADDSUM(context, value){
            context.sum += value
        },
        SUBSUM(context, value){
            context.sum -= value
        },
        ADD_PERSON(context, value){
            context.personList.unshift(value)
        }
    },
    //准备actions-用于响应组件中的动作
    actions:{
        addSum(context, value){
            context.commit('ADDSUM', value);
        },
        subSum(context, value){
            context.commit('SUBSUM', value)
        },
        addOnlySumOdd(context, value){
            if(!(context.state.sum % 2)){
                context.commit('ADDSUM', value)
            }
        },
        addSumWait(context, value){
            setTimeout(()=>{
            context.commit('ADDSUM', value)
            },500)
        }
    },
    //准备getters-用于将state中的数据进行加工
    getters:{
        bigSum(state){
            return state.sum * 10;
        }
    }
})

